<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var obj = {}
        // 构造函数的特点
        // 1.首字母大写
        // 2.使用 this 关键字创建对象属性
        // 3.使用 new 关键字创建对象
        function Run() {
            this.name = "lili";
            this.run1 = function(){
                console.log("----");
            }
        }
   
        // 可变的量或函数，放在构造函数里  不可变的属性或函数放在原型里 

        // 原型
        // 每个对象都有一个 prototype属性,这个属性的值也是一个对象(即原型对象); 里面存放的是一些共享的属性和方法
        // 每个对象都有一个 _proto_属性,....
        Run.prototype.play = function(){
            console.log("=====");
        }
        var run = new Run();
        var run1 = new Run();
        run.play();
        // run1.play();
        // console.log(run);
        // console.log(run1);

        var arr = [1, 2, 3];
        // 每个对象都有一个原型对象，原型对象也有原型对象，这个称之为原型链
        console.log(arr.__proto__.__proto__.__proto__);

        var arr1 = [1, 2, 3];
        console.log(arr1);
    </script>
</body>

</html>